#ifndef PRECISESPECTRUM_H
#define PRECISESPECTRUM_H

#include <QList>
#include <QSharedPointer>
#include "pointpairlistplus.h"
#include "CommonOptions.h"

class PreciseSpectrum: public QList<QSharedPointer<PointPairListPlus> > {
private:
    QSharedPointer<CommonOptions> myCommonOptions;
    bool distract(const QSharedPointer<PointPairListPlus>& from, const QSharedPointer<PointPairListPlus>& what, QSharedPointer<PointPairListPlus>& res);
public:
    PreciseSpectrum();
    inline const QSharedPointer<CommonOptions> commonOptions() const {
        return myCommonOptions;
    }
    bool serialize(QDomElement& elem, QDomDocument& doc) const;
    bool deserialize(const QDomElement& elem);
    bool distract(const QSharedPointer<PreciseSpectrum>& other);
};

#endif // PRECISESPECTRUM_H
